---
author: hongbo
date: "2019-04-09"
previewImg:
badge: testing
title: Announcing BuckleScript 5.0.1
description: |
---

## Newest Changes

`bs-platform@5.0.1` preview is available, try `npm i -g bs-platform@beta-4.02`!
A detailed a list of changes is available
[here](https://github.com/BuckleScript/bucklescript/blob/master/Changes.md#501)

Some notable new features in this release:

### React JSX v3

The new v3 JSX ppx is now available which means zero-cost for react-bindings
(@rickyvetter will talk about it in a separate post).

### New [@bs.inline] decorator for library authors

Our compilers have a pretty good inlining heuristics by default, in this
release, we allow some user input for some fine-tuned inlining behavior. Read
this (https://github.com/BuckleScript/bucklescript/issues/3472) for more use
cases.

A typical usage is as below

```reason
module Platform = {
  [@bs.inline] let ios = "ios";
};
```

If user wants to write an interface, it has to carry the payload though:

```reason
module Platform: {
  [@bs.inline "ios"]
  let ios: string;
} = {
  [@bs.inline]
  let ios = "ios";
};
```

It is a bit verbose for library authors, but this should be transparent to
library users.

We are also actively working on a new offical release targeted to OCaml 4.06
for the forthcoming [reason-conf](https://www.reason-conf.com/), below is
proposed release schedule:

We are going to support OCaml 4.06 and 4.02 at the same time for a while.

The corresponding versions for `bs-platform` would be 5.(targeting 4.02 OCaml)
and 6. (targeting 4.06).

`5.*` is recommended for production usage, bug fix is prioritized (tagged as
`beta-4.02` for pre-rleases)

`6.*` is expected to have some issues but encouraged to experiment until we
make an official announcement it is great for production. (tagged as
`beta-4.06` for pre-releases)
